package com.captain.special.链表;

import com.captain.leetcode.链表.ListNode;

import java.util.*;

/**
 * Des:
 *
 * @author XL
 * @Date 2022/3/24 10:56
 */
public class 环形链表2_142 {
    public ListNode detectCycle(ListNode head) {
        //入环的第一个节点
        if (head == null || head.next == null) {
            return null;
        }
        //集合存储不重复的数据,存储前判断是否包含,如果包含,则说明进入环了
        Set<ListNode> set = new HashSet<>();

        while (head != null) {
            if (set.contains(head)) {
                return head;
            }
            set.add(head);
            head = head.next;
        }
        return null;
    }
}
